package bsk_dac.tables;

import java.util.ArrayList;

/**
 *  Klasa zawiera tabele które będą wczytywane z bazy danych i dostępne w całym programie.
 *  Narazie są to wpisane tabele na sztywno.
 */
public class TablesManager {
    static private TablesManager tablesManager;
    private ArrayList<String> avaiableTables;

    private TablesManager(){
        loadAvaiableTablesFromDatabase();
    }

    /**
     * Jak singeleton zwraca jedyną instancję klasy zarządzającej tabelami
     *
     * @return instancja TablesManager
     */
    public static TablesManager getTableManager(){
        if(tablesManager == null){
            tablesManager = new TablesManager();
        }
        return tablesManager;
    }

    /**
     *
     * @return dostępne tabele, które udalo się wczytać z bazy danych
     */
    public ArrayList<String> getAvaiableTables(){
        return avaiableTables;
    }

    /**
     * Wczytuje tabele z bazy danych
     */
    private void loadAvaiableTablesFromDatabase(){
        avaiableTables = new ArrayList<String>();
        avaiableTables.add("sections");
        avaiableTables.add("topics");
        avaiableTables.add("posts");
    }
}
